<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>密钥/证书参数</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="openssl.constsni.html">« Server Name Indication constants</a></li>
      <li style="float: right;"><a href="openssl.cert.verification.html">证书验证 »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="book.openssl.html">OpenSSL</a></li>
    <li>密钥/证书参数</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="openssl.certparams" class="appendix">
 <h1>密钥/证书参数</h1>

 <p class="para">
  相当一部分的 openssl 函数需要密钥或者证书参数。可通过以下途径获取这些参数。
  <ul class="itemizedlist">
   <li class="listitem">
    <p class="para">
     证书
     <ol type="1">
      <li class="listitem">
       <span class="simpara">
        一个由 <span class="function"><a href="function.openssl-x509-read.html" class="function">openssl_x509_read()</a></span> 返回的 X.509资源
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">如下格式的字符串 <var class="filename">file://path/to/cert.pem</var>; 命名文件必须包含一个PEM编码的证书
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        一个包含了证书内容的字符串，PEM编码，应该是以 -----BEGIN CERTIFICATE----- 开头。
       </span>
      </li>
     </ol>
    </p>
   </li>

   <li class="listitem">
    <p class="para">
     证书签名请求 (CSRs)
     <ol type="1">
      <li class="listitem">
       <span class="simpara">
        一个由 <span class="function"><a href="function.openssl-csr-new.html" class="function">openssl_csr_new()</a></span> 函数返回的 CSR 资源
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">如下格式的字符串<var class="filename">file://path/to/csr.pem</var>; 命名文件必须包含一个PEM编码的 CSR
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        一个包含了 CSR 内容的字符串，PEM编码，应该是以 -----BEGIN CERTIFICATE REQUEST----- 开头。
       </span>
      </li>
     </ol>
    </p>
   </li>

   
   <li class="listitem">
    <p class="para">
     公钥/私钥
     <ol type="1">
      <li class="listitem">
       <span class="simpara">一个由
        <span class="function"><a href="function.openssl-get-publickey.html" class="function">openssl_get_publickey()</a></span> 或者
        <span class="function"><a href="function.openssl-get-privatekey.html" class="function">openssl_get_privatekey()</a></span> 函数返回的密钥资源
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">仅限公钥：一个 X.509 资源</span>
      </li>
      <li class="listitem">
       <span class="simpara">如下格式的字符串
        <var class="filename">file://path/to/file.pem</var> - 命名文件必须包含一个PEM编码的证书/私钥（必须包含二者）
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        一个包含证书/私钥内容的字符串，PEM编码，应该是以 -----BEGIN PUBLIC KEY----- 开头。
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        对于私钥，应该使用<code class="literal">array($key, $passphrase)</code> 的语法格式，这里的 <var class="varname">$key</var> 代表由file://格式的文件或者文本字符表示的密钥, 而
        <var class="varname">$passphrase</var> 表示一个包含该私钥的密码的字符串。
       </span>
      </li>
     </ol>
    </p> 
   </li>
  </ul>
 </p>
</div>
</div></div></body></html>